package org.jeecg.modules.power.order.mapper;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.app.order.vo.AppMemberOrder;
import org.jeecg.modules.app.order.vo.AppMemberOrderEnt;
import org.jeecg.modules.app.order.vo.AppMemberOrderGrouping;
import org.jeecg.modules.power.order.entity.YlMemberOrder;

/**
 * @Description: 会员订单表
 * @Author: jeecg-boot
 * @Date:   2024-07-13
 * @Version: V1.0
 */
public interface YlMemberOrderMapper extends BaseMapper<YlMemberOrder> {


    /**
     * app运营端 获取会员充值订单统计 1今日 2昨日 3 本周 4 本月
     * @param type 1今日 2昨日 3 本周 4 本月
     * @return
     */
    AppMemberOrderEnt getAppMemberOrderEntCycle (@Param("userIds") String userIds, @Param("type") int type);


    /**
     * 获取会员充值订单统计 1今日 2昨日 3 本周 4 本月 分组统计
     * @param type 1今日 2昨日 3 本周 4 本月
     * @return
     */
    List<AppMemberOrderGrouping> getAppMemberOrderGroupingList (@Param("userIds") String userIds,@Param("type") int type);


    /**
     * 获取会员充值订单统计 1今日 2昨日 3 本周 4 本月 订单数据
     * @param type 1今日 2昨日 3 本周 4 本月
     * @return
     */
    List<AppMemberOrder>  getAppMemberOrderList (@Param("userIds") String userIds,@Param("type") int type);







    List<Map<String,Object>>  getAppMemberOrderDayList(@Param("userIds") String userIds,@Param("dayStart") Date dayStart, @Param("dayEnd") Date dayEnd);


    List<Map<String,Object>>  getAppMemberOrderYueList(@Param("userIds") String userIds,@Param("dayStart") Date dayStart, @Param("dayEnd") Date dayEnd);





    /**
     * 后台首页充值订单统计
     * @param type 1今天 2 本月
     * @return
     */
    Map<String, Object> getHomeMemberOrder(@Param("userIds") String userIds,@Param("type") int type);














}
